class BrowserHelper {
    // 获取并打印浏览器的用户代理字符串（包含浏览器及操作系统等信息）
    static testUserAgent() {
        const userAgent = navigator.userAgent;
        console.log('用户代理字符串：', userAgent);
    }

    // 获取并打印浏览器的语言设置
    static testBrowserLanguage() {
        const language = navigator.language;
        console.log('浏览器语言：', language);
    }

    // 获取并打印浏览器窗口的尺寸信息（包括内部宽度、内部高度、外部宽度、外部高度）
    static testWindowDimensions() {
        const innerWidth = window.innerWidth;
        const innerHeight = window.innerHeight;
        const outerWidth = window.outerWidth;
        const outerHeight = window.outerHeight;

        console.log('窗口内部宽度：', innerWidth);
        console.log('窗口内部高度：', innerHeight);
        console.log('窗口外部宽度：', outerWidth);
        console.log('窗口外部高度：', outerHeight);
    }

    // 获取并打印浏览器的屏幕分辨率信息（包括屏幕宽度、屏幕高度）
    static testScreenResolution() {
        const screenWidth = window.screen.width;
        const screenHeight = window.screen.height;

        console.log('屏幕宽度：', screenWidth);
        console.log('屏幕高度：', screenHeight);
    }

    // 获取并打印浏览器的页面加载状态（是否已加载完成）
    static testPageLoadStatus() {
        const isLoaded = document.readyState === 'complete';
        console.log('页面是否已加载完成：', isLoaded);
    }

    // 获取并打印浏览器的Cookie信息（简单示例，实际可能需要更复杂的处理）
    static testCookies() {
        const cookies = document.cookie;
        console.log('Cookie信息：', cookies);
    }

    // 获取并打印浏览器的本地存储信息（简单示例，实际可能需要更复杂的处理）
    static testLocalStorage() {
        const localStorageData = localStorage.getItem('');
        console.log('本地存储信息：', localStorageData);
    }

    // 获取并打印浏览器的历史记录相关信息（简单示例，实际可能需要更复杂的处理）
    static testHistory() {
        const historyLength = history.length;
        console.log('历史记录长度：', historyLength);
    }

    // 获取并打印浏览器的地理位置信息（需要用户授权，可能会抛出错误）
    static testGeolocation() {
        navigator.geolocation.getCurrentPosition(
            position => {
                const latitude = position.latitude;
                const longitude = position.longitude;

                console.log('地理位置 - 纬度：', latitude);
                console.log('地理位置 - 经度：', longitude);
            },
            error => {
                console.log('获取地理位置信息失败：', error);
            }
        );
    }

    // 执行所有测试方法
    static testAll() {
        BrowserHelper.testUserAgent();
        BrowserHelper.testBrowserLanguage();
        BrowserHelper.testWindowDimensions();
        BrowserHelper.testScreenResolution();
        BrowserHelper.testPageLoadStatus();
        BrowserHelper.testCookies();
        BrowserHelper.testLocalStorage();
        BrowserHelper.testHistory();
        BrowserHelper.testGeolocation();
    }
}

// 示例用法：
// 执行所有测试方法
// BrowserHelper.testAll();


export { BrowserHelper };
